home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 4
/
FM Towns Free Software Collection 4 - Disc 1.iso
/
fb386
/
pickup
/
ske4.bas
< prev
next >
Wrap
BASIC Source File
|
1991-10-18
|
11KB
|
219 lines
1 KEY(1) ON:ON KEY(1) GOSUB 65010
10 ' -----------------------------------------------------------
20 ' ---- For F-BASIC 386 V1.1L20 ---
30 ' ----- -----
40 '------ ----
50 ' ----- Programed By SKEMARO---
60 ' ------------------------------------------------------------
70 LOAD@"PDRUMS.PMB"
80 'LOAD@""
90 GOSUB *めさーじゅ表示:PLAY OFF:BGM 1:FOR I=0 TO 13:PART I,I:NEXT
100 DIM T%(4,9),V%(23),D%(47)
110 TNO%=1 : TNAME$="SYNTH-1" : RESTORE 110
120 FOR Y%=0 TO 4 : FOR X%=0 TO 9:READ T%(Y%,X%):NEXT:NEXT:GOSUB *TNCONV
130 '
140 DATA 60, 0, 0, 0, 0, 0, 0, 0, 3, 0
150 DATA 21,10, 0, 7, 1,23, 1, 3, 3, 0
160 DATA 21,10, 4, 7, 0, 8, 0, 2, 3, 0
170 DATA 21,10, 0, 7, 2,17, 0, 4, 7, 0
180 DATA 21,10, 4, 7, 0, 8, 0, 2, 7, 0
190 TNO%=2 : TNAME$="BASS" : RESTORE 190
200 FOR Y%=0 TO 4 : FOR X%=0 TO 9:READ T%(Y%,X%):NEXT:NEXT:GOSUB *TNCONV
210 '
220 DATA 58, 0, 0, 0, 0, 0, 0, 0, 3, 0
230 DATA 31,10, 8, 7, 1,20, 0, 1, 3, 0
240 DATA 21, 0, 0, 7, 0,28, 0, 1, 3, 0
250 DATA 21, 0, 0, 7, 0,31, 0, 3, 7, 0
260 DATA 21, 0, 0, 7, 0, 5, 0, 2, 0, 0
270 TNO%=3 : TNAME$="SYNTH-2" : RESTORE 270
280 FOR Y%=0 TO 4 : FOR X%=0 TO 9:READ T%(Y%,X%):NEXT:NEXT:GOSUB *TNCONV
290 '
300 DATA 61, 0, 0, 0, 0, 0, 0, 0, 0, 0
310 DATA 31, 0, 7, 3, 0,24, 0, 2, 4, 0
320 DATA 31,12, 0, 7, 1,11, 1, 1, 3, 0
330 DATA 31,12, 0, 7, 1, 5, 1, 8, 0, 0
340 DATA 31,12, 0, 7, 1, 3, 1, 4, 0, 0
350 TNO%=4 : TNAME$="SYNTH-3" : RESTORE 350
360 FOR Y%=0 TO 4 : FOR X%=0 TO 9:READ T%(Y%,X%):NEXT:NEXT:GOSUB *TNCONV
370 '
380 DATA 58, 0, 0, 0, 0, 0, 0, 0, 0, 0
390 DATA 16, 0, 9, 3, 0,34, 0,15, 7, 0
400 DATA 16, 0, 0, 3, 0,32, 1,13, 3, 0
410 DATA 16, 0, 0, 3, 0,34, 1, 4, 0, 0
420 DATA 16,10, 8, 7, 0, 5, 1, 2, 0, 0
430 GOTO 630
440 *TNCONV
450 FOR I%=0 TO 9 : SWAP T%(2,I%),T%(3,I%) : NEXT
460 FOR I%=0 TO 3:J%=I%+1
470 D%( 8+I%)=(T%(J%,8) AND 7)*16+(T%(J%,7) AND 15)
480 D%(12+I%)=(T%(J%,5) AND 127)
490 D%(16+I%)=(T%(J%,6) AND 3)*64+(T%(J%,0) AND 31)
500 D%(20+I%)= T%(J%,1) AND 31
510 D%(24+I%)= T%(J%,2) AND 31
520 D%(28+I%)=(T%(J%,4) AND 15)*16+(T%(J%,3) AND 15)
530 NEXT
540 D%(32)=T%(0,0)
550 D%(33)=&HC0+((T%(0,7) AND 3)*16)+((T%(0,8) AND 7)) : D%(34)=0
560 A$=LEFT$(TNAME$+" ",8)
570 FOR I%=0 TO 7 : D%(I%)=ASC(MID$(A$,I%+1,1)) : NEXT
580 FOR I%=0 TO 47 STEP 2 : L&=D%(I%+1)*256+D%(I%)
590 IF L&<&H8000 THEN V%(I% \ 2)=CINT(L&) ELSE V%(I% \ 2)=CINT(L&-&H10000)
600 NEXT
610 VOICE TNO%,V% : RETURN
620 '-----------------------------------------------------
630 PLAY OFF
640 T$="T128L8U0%C":PLAY T$,T$,T$,T$,T$,T$,T$,T$,T$,T$,T$,T$,T$,T$
650 '-----------------------------------------------------
660 A$="@ 1O5L8 V 9 RRFFF4GF4E&E2.RRRRE8.D8.E8D1"
670 B$="@ 1O5L8U60V 6 R8RRFFF4GF4E&E2.RRRRE8.D8. D1"
680 C$="@ 1O5L8 V 8 RRDDD4ED4C&C2.RRRRC8.<B-8.>C8<B-1>"
690 D$="@ 3O3L8 V 6 A1A1F1B-1"
700 E$="@ 6O5L8 V12 D1C1<B-1&B-2B-4>C4"
710 F$="@ 2O2L4 V12 D1C1<B-1&B-2B->C"
720 I$="@4O4V15L8%L5 ((V15GV4G)4)4"
730 J$="@4O4V 5L8%R8 (C4C4C4C4)4"
740 PLAY A$,B$,C$,D$,E$,F$,,,,,I$,J$
750 '-----------------------------------------------------
760 A$=" RRRFF4GF4E&E2.RRRRE8.D8.E8D1&"
770 B$="R8RRRFF4GF4E&E2.RRRRE8.D8. D1&"
780 C$=" RRRDD4ED4C&C2.RRRRC8.<B-8.>C8<B-1&"
790 F$=" D1C1<B-1&B-1&"
800 PLAY A$,B$,C$,D$,F$,F$,,,,,I$,J$
810 '-----------------------------------------------------
820 A$=" D2DRE4"
830 B$="D8&D2DRE8"
840 C$=" B-2B-R>C4"
850 D$=" B-2F4G4"
860 F$=" B-2B-4>C4"
870 PLAY A$,B$,C$,D$,F$,F$,,,,,"(V15GV4G)4"
880 '-----------------------------------------------------
890 A$=" RRF2 D4 E8. D8.C8<G8.>C8. E8 RRD2<B-4>C8.D8. E8E8.D8.C8"
900 B$=" RRRF2 D4 E8. D8.C8<G8.>C8. E8 RRD2<B-4>C8.D8. E8E8.D8."
910 C$=" RRD2<A4>C8.<G8.G8 E8. G8.>C8<RRB-2F 4 G8.G8.>C8C8.F8.E8"
920 D$="@3O3V 4 %R L4 DFA>D<CEG>C<B-F>D<B->C<G>EC"
930 E$="@3O3V 2U70%L L4R8DFA>D<CEG>C<B-F>D<B->C<G>EC8"
940 F$=" D2.DC2.C<B-2.B->C2.C"
950 G$="@3O4V15L8 (CRRRRRRRCRRRRRRC)2"
960 PLAY A$,B$,C$,D$,E$,F$,"%RU-500"+G$,"%LU+500"+G$,,,I$,J$
970 '-----------------------------------------------------
980 A$=" RRF2 D4 G8.F8.E8E4 F8 E4 D D2.&D2]]DRE4[["
990 B$="CRRF2 D4 G8.F8.E8E4 F8 E4 D D2.&D2]]DRE8[["
1000 C$=" RRD2<A4>E8.D8.C8C4 D8 C4<B-B-2.&B-2]]B-R>C4[["
1010 D$=" D<A>FDECGE ]]F8.]]G8.]E8]F8.G8.E8F1"
1020 E$="R8D<A>FDECGE8]]F8.]]G8.]E8]F8.G8.E8F1"
1030 F$="D2.D4C2.C4<(B-8B-8]B-8B-8)3B-8>B-8C8>C8<[[["
1040 G$=" CRRRRRRCCRRRRRRCCRCRCRCR (C16C16R8)2 C16C16RCR16C16"
1050 H$="@2O4L8V15RRRRRRRRRRRRRRRRRRRRRRRR @6RC4C@2C16C16@9<E8<B16B16E8>>@2"
1060 PLAY A$,B$,C$,D$,E$,F$,G$,G$,"%R3U+500"+H$,"%L3U-500"+H$,I$,J$
1070 '-----------------------------------------------------
1080 A$="O5RRFFF4GF4E&E2.RRRRE8.D8.E8D1"
1090 C$="O5RRDDD4ED4C&C2.RRRRC8.<G8.>C8<A1>"
1100 D$="@3V10L16O4%C (D<A>DFAFD<A>)2(C<G>CEGEC<G>)4 D<A>DFAFD<A> B->DFB-CEG>C<"
1110 E$="@3V 8L16O4%CR(D<A>DFAFD<A>)2(C<G>CEGEC<G>)4 D<A>DFAFD ]]DB-CF G>C<EG[["
1120 F$="L8(DDDD)2(CCCC)4DDDD<B->B-16B-18C>C16C16<"
1130 G$="L8(CRCRCCCR)3CRCRCCC32C32C32C32C"
1140 H$="L8(RRC2C4)3RRC4@9<E<G>>@2C8@2C16C16"
1150 I$="@4O4V15L 8%L7 ((GG)4)4"
1160 J$="@4O4V 7L16%R10 ((C16R16C16C16)4)4"
1170 PLAY "V12"+A$,"V9"+A$,C$,D$,E$,F$,G$,G$,H$,H$,I$,J$
1180 PLAY A$,A$,C$,D$,E$,F$,G$,G$,H$,H$,I$,J$
1190 '-----------------------------------------------------
1200 A$="<B-8.>C8.D4C<B-F>C8.D8.E4D8CEF8.G8.E8F8.G8.E8F1"
1210 C$="D8.E8.F4ED<A>E8.F8.G4FEGD8.E8.C8D8.E8.C8D1"
1220 D$="O3B-FB->DFB->DFB-FD<B-FD<B-F >C<G>CEG>CEG>C<GEC<GEC<G< DFAF A>DFD FA>D<A> DFAF A>DFDFA>D<A DD-C<B L32AA-GG- FEE-DL16"
1230 E$="O3RB-FB->DFB->DFB-FD<B-FD<B-F >C<G>CEG>CEG>C<GEC<GEC<G< DFAF A>DFD FA>D<A> DFAF A>DFDFA>D<A DD-C<B L32AA-GG- FEL16"
1240 F$="O1L16(B-8>B-<B-)4>(C8>C<C)4((D8>D<D)4)2"
1250 G$="L16(CRCRCRRCRCRRCRRC)4"
1260 H$="L16(R4C8.CRCRRC8.C)3R4C8.C@9<<B8B8B8B8>>@2"
1270 PLAY "O5V12"+A$,"O5V9"+A$,"O4"+C$,D$,E$,F$,G$,G$,H$,H$,I$,J$
1280 D$="O3 B-FB->DFB->DFB-FD<B-FD<B-F >C<G>CEG>CEG>C<GEC<GEC<G< DFAF A>DFD FA>D<A> DFAF A>DFDFA>D<A <ADFA>D FA>D"
1290 E$="O3RB-FB->DFB->DFB-FD<B-FD<B-F >C<G>CEG>CEG>C<GEC<GEC<G< DFAF A>DFD FA>D<A> DFAF A>DFDFA>D<A <ADFA>D FA>"
1300 PLAY A$,A$,">"+C$,D$,E$,F$,G$,G$,H$,H$,I$,J$:GOTO 640
1310 '-----------------------------------------------------
1320 A$="@1O4V 9L16 (A8.ARRRRRRARRA8.A2.A4)"
1330 B$="@3O4V 8L16 (F8.FRRRRRRFRRF8.G2.G4) "
1340 C$="@3O4V 8L16 (D8.DRRRRRRDRRD8.E2.E4) "
1350 D$="@3O4V 8L16 R8.RRRRRRRRRRR8.C2.C4<B-8.B-RRRRRRB-RRB-8.>C2.C4 "
1360 E$="@3O5V 7L16 (>AA<AA>A<AA>A<AA>A<A>A<AA>A<)4"
1370 F$=" L16 D8.D>>D<DD>D<<RRDRRD8.C2.C4<B-8.B->>B-<B-B->B-<<RRB-RRB-8.>C2.C4 "
1380 G$="L16(CRRCCRRRRRCRRCRR)4"
1390 H$="L16R4C4R4R4 @9<E8.<B8.F8.C8.RR>>@2CCR4C4R4R4R4R4@8%R(B32B32)B8%L(E32E32)E8@2%C"
1400 PLAY A$,B$,C$,D$,E$,F$,G$,G$,H$,H$,,J$
1410 H$="R4C4R4R4 R4R4R4@9<<FFF8>>@2R4C4R4R4@9<E8.<B8.F8.C8.>>@2CCCC"
1420 PLAY A$,B$,C$,D$,E$,F$,G$,G$,H$,H$,,J$
1430 '-----------------------------------------------------
1440 A$="A2.&A8A8&A1"
1450 B$="G-2.&G-8F8&F1"
1460 C$="D2.&D8D8&D1"
1470 D$="<A2.&A8A8&A1>"
1480 E$="(>AA<AA>A<AA>A<AA>A<A>A<AA>A<)2"
1490 F$="L8DDDDDDDD4DDDDDDD"
1500 G$="L8(CRCRCCCR)2"
1510 H$="L8(RRC2C4)2"
1520 PLAY A$,B$,C$,D$,E$,F$,G$,G$,H$,H$
5000 *めさーじゅ表示
5010 '------------------------------------------------------ONSHOKU SETTEI
5020 RESTORE 5050:DIM SON(23):SAD=VARPTR(SON(0)):FOR I=1 TO 1
5030 FOR ADD=8 TO 33:READ DT$:POKE SAD+ADD,VAL("&H"+DT$):NEXT ADD
5040 VOICE 9,SON:NEXT I
5050 DATA 3E,7F,30,73,0,0,0,0,1F,1F,1F,1F
5060 DATA 0,0,1C,1C,0,0,12,13,0,0,9,F,3C,C0
5070 '--------------------------------------------------------SYOKI SETTEI
5080 SCREEN @2:PALETTE:PASTEL:COLOR 0,[128,128,128]:CLS
5090 BGM 0:DEFINT A-Z:DEFSTR M,R
5100 T$="T180@106O2V9U0%CL64":PLAY T$+"@9",T$,T$+"U+3000"
5110 PALETTE 1,[8,8,8]:LINE (0,0)-(639,479),PSET,%1,BF
5120 '---------------------------------------------KEISEN:MEISAI:KYOKU MEI
5130 LINE (50,50)-(400,50),PASTEL,7:Y=100
5140 FOR I=0 TO 14:LINE (35,Y)-(605,Y),PASTEL,7:Y=Y+25:NEXT
5150 Y=5:FOR I=1 TO 3:READ M:SYMBOL (405,Y),M,1,1,2:Y=Y+19:NEXT
5160 READ M:SYMBOL (50,53),M,1,1,,,,8
5170 SYMBOL (103,455),"< : >-♪-< : >",1,1,7
5180 X=48:READ M:A=KLEN(M,0):FOR I=1 TO A:MOJ=KMID$(M,I,1)
5190 SYMBOL (X,15),MOJ,1,2,7,,,13
5200 IF MOJ=" " THEN PLAY "R":X=X+16:NEXT ELSE PLAY "C16":X=X+16:NEXT
5210 '-------------------------------------------------------------MESSAGE
5220 X=60:I=0:Y=83:R="BB-AA-GG-FEE-DD-C>G-GA-AB-B<":RESTORE *MESSAGE
5230 READ M
5240 SUU=KLEN(M,0)
5250 '
5260 *MAIN
5270 I=I+1:MOJ = KMID$(M,I,1)
5280 IF I=SUU+1 THEN I=0:GOTO 5230
5290 IF MOJ="@" GOTO *SYORI
5300 IF X=587 THEN X=60:Y=Y+25:PLAY ,R,R
5310 SYMBOL (X,Y),MOJ,1,1,C,,,9
5320 IF MOJ="?" OR MOJ="!" OR MOJ="・" THEN PLAY "<<C2>>":GOTO 5350
5330 IF MOJ=" " OR MOJ="、" THEN PLAY "<<C8>>":GOTO 5350
5340 IF MOJ="。" THEN PLAY "<<C4>>" ELSE PLAY "C64"
5350 X=X+17:GOTO *MAIN
5360 '
5370 *SYORI
5380 I=I+1:MOJ = KMID$(M,I,1)
5390 IF MOJ="E" GOTO *OWARI
5400 IF MOJ="R" THEN X=60:Y=Y+25:PLAY ,R,R:GOTO *MAIN
5410 C=VAL(MOJ$):GOTO *MAIN
5420 '---------------------------------------------------------MEISAI DATA
5430 DATA "* SKE.メサ-ジュシステム V2.1","* For 386 V1.1L20 / L21","*"
5440 DATA "作・編曲/SKEMARO"
5450 '--------------------------------------------------------MESSAGE DATA
5460 DATA " KNIGHT (未使用曲)":'DAIMEI 21 MOJI
5470 *MESSAGE
5480 DATA "@7 これも、正確には未使用曲ではありませんが、こういう曲名にすると、なんかカッコいいので。@R"
5490 DATA "
5500 DATA " あ!そいえば、昨日、富士通プラザに「フリコレ3」を買いにいったら、注文殺到とかで売り切れてて、申込書を書かされた。4月20日くらいになるとか。"
5510 DATA " くっそー。もうちょっと早く行っとけばよかった。だって田舎に帰ってたんだもん(そしたら「ハモり魔」にでくわした)。@R"
5520 DATA " もう、人×ゲームは面白くないし(「タ○ラ」関係の方がおられましたら、ごめんなさい)。田舎の友達も、しれーっとしてみんなくっついちゃってて。どこの家に遊びにいっても、「あれ!?なんでこいつがここに?」ってな事ばっかり。そしたら、"
5530 DATA "話題はおきまりの、「だって、けんちゃん急に「好きだ」とか言うんだもん。」「ばか!(←愛情たっぷり)初めに言ってきたのは、おまえ(←もう「おまえ」なんて言ってる)だろが。」だ! さあぁ、困ったぞ。みんなカップルだぞ。どこいっても"
5531 DATA "だぞ。えぇぇい!!(←泣きかけてる。)@E"
5540 '---------------------------------------------------------OWARI SHORI
5550 *OWARI
5560 SYMBOL (128,455),"PLAY START ANY KEY",1,1,2
5570 SYMBOL (368,455),"PLAY STOP PF1",1,1,%1:A$=INPUT$(1)
5580 SYMBOL (128,455),"PLAY START ANY KEY",1,1,%1
5590 SYMBOL (368,455),"PLAY STOP PF1",1,1,2:PLAY ,R,R
5600 BGM 1
5610 RETURN
65000 BGM 0:PLAY"R64":BGM 1
65010 CLOSE #1 :KEY(1) OFF:PLAY OFF:RUN"MENU.BAS"